#ifndef CELL_H
#define CELL_H//数据层

#include "pubilc.h"

class cell
{
public:
    cell() {}//构造函数
    cell(QPoint &, QPointF &, int _color = NO_COLOR);//构造函数
    cell(const cell& c) { copy(c); }//拷贝构造函数
    cell& operator=(const cell& c) { return copy(c); }//=的重载
    int get_color() { return color; }
    void set_color(int _color) { color = _color; }
    QPointF& get_position() { return position; }
    QPoint& get_location() { return location; }
    QColor draw_cell_color() const;
    ~cell();

private:
    QPointF position;//相对于主画面的位置
    QPoint location;//在棋盘中的位置
    cell& copy(const cell&);
    int color;//方块颜色
};

#endif // CELL_H
